fn main() {
    println!("=====类似C语言方式定义=====");
    {
        enum IpAddKind {
            V4,
            V6,
        }

        struct IpAddr {
            kind: IpAddKind,
            addr: String,
        }

        let mut i1 = IpAddr {
            kind: IpAddKind::V4,
            addr: String::from("127.0.0.1"),
        };

        let mut i2 = IpAddr {
            kind: IpAddKind::V6,
            addr: String::from("::1"),
        };
    }

    println!("=====rust提倡方式定义=====");
    {
        enum IpAddr2 {
            V4(String),
            V6(String),
        }

        let mut i1 = IpAddr2::V4(String::from("127.0.0.1"));
        let mut i2 = IpAddr2::V6(String::from("::1"));
    }
}
